package com.macro.mall.mapper;

import com.macro.mall.model.PmsProductAttribute;
import com.macro.mall.model.PmsProductAttributeExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface PmsProductAttributeMapper {
    long countByExample(PmsProductAttributeExample example);

    int deleteByExample(PmsProductAttributeExample example);

    int deleteByPrimaryKey(Long id);

    int insert(PmsProductAttribute record);



    List<PmsProductAttribute> selectByExample(PmsProductAttributeExample example);

    int updateByExampleSelective(@Param("record") PmsProductAttribute record, @Param("example") PmsProductAttributeExample example);

    int updateByExample(@Param("record") PmsProductAttribute record, @Param("example") PmsProductAttributeExample example);



    int updateByPrimaryKey(PmsProductAttribute record);

    /**
     * 根据id查询商品属性
     * @param id
     * @return
     */
    PmsProductAttribute selectByPrimaryKey(Long id);

    /**
     * 根据商品分类id查询商品属性和属性分类
     * @param productCategoryId
     * @return
     */
    PmsProductAttribute selectByCategoryId(Long productCategoryId);

    /**
     * 添加商品属性信息
     * @param  record
     * @return
     */
    int insertSelective(PmsProductAttribute record);

    /**
     * 根据id修改商品属性信息
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(PmsProductAttribute record);

    /**
     * 根据分类id查询商品属性信息
     * @param cid
     * @return
     */
    List<PmsProductAttribute> selectPmsProductAttribute(Long cid);

    /**
     * 根据分类id查询商品参数列表
     * @param cid
     * @return
     */
    List<PmsProductAttribute> selectPmsProductValue(Long cid);

    /**
     * 批量删除商品属性
     * @param ids
     * @return
     */
    int deleteAll(List<Long> ids);

}